// 自定义线程类
class MyThread extends Thread {
    // 定义指定线程名称的构造方法
    public MyThread(String name) {
        //调用父类的String参数的构造方法，指定线程的名称
        super(name);
    }

    public MyThread() {
        super();
    }

    // 重写run方法，完成该线程执行的逻辑
    @Override
    public void run() {
        System.out.println(Thread.activeCount());
//        for (int i = 0; i < 10; i++) {
//            System.out.println(getName() + "：正在执行！" + i);
//        }
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
}

public class Test4 {
    public static void main(String[] args) throws InterruptedException {
        // 创建自定义线程对象1
        System.out.println(Thread.activeCount());
        MyThread mt1 = new MyThread();
        // 开启子线程1
        mt1.start();
        mt1.join();
//        mt1.run();
        System.out.println(Thread.activeCount());

        // 创建自定义线程对象2
//        MyThread mt2 = new MyThread("子线程2");
//        // 开启子线程2
//        mt2.start();
//
//        // 在主方法中执行for循环
//        for (int i = 0; i < 10; i++) {
//            System.out.println("main线程！" + i);
//        }
    }
}